package com.hmall.item.listener;

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;

@Service
public class ItemStatusUpdateListener {

    @Autowired
    private StringRedisTemplate redisTemplate;

    @RabbitListener(queues = "itemStatusQueue")
    public void updateCache(Integer itemId) {
        // 重新加载热销商品，并更新缓存
        updateHotSaleItems(); // 重新统计Top20商品，并更新到Redis中
    }

    // 热销商品更新逻辑，参考定时任务的实现
    private void updateHotSaleItems() {
//        List<Item> topItems = items.selectTopSalesItems(20); // 假设你有方法获取Top20商品
//
//        redisTemplate.opsForZSet().removeRange("HOT_SALE_ITEMS", 0, -1); // 清空缓存
//        for (Item item : topItems) {
//            redisTemplate.opsForZSet().add("HOT_SALE_ITEMS", item, item.getSalesVolume());
//        }
    }
}
